home *** CD-ROM | disk | FTP | other *** search
- <%@ LANGUAGE = VBScript %>
- <% 'Option Explicit %>
- <!-- #include file="../directives.inc" -->
-
- <!--#include file="jsbrowser.str"-->
-
- <%
- 'Call this page with a query string of ?sname=machinename
- 'example: http://larad01/iis/iicnct.asp?sname=larad01
-
- 'On Error Resume Next
-
- Dim path, sname, scripttimeout, FileSystem, quote, errd, currentADsObj, lastobj
- Dim newid, topid, firstid, currentid, numNewItems
-
-
- 'This script can take a _long_ time to execute,
- 'as we may be dealing with thousands of items
- 'to add to our JScript object.
- 'save our current script timeout value & set to a much longer value...
-
- scripttimeout = Server.ScriptTimeOut
- Server.ScriptTimeOut = 2000
-
- Set FileSystem=CreateObject("Scripting.FileSystemObject")
-
- path=Request.QueryString("fspath")
-
- quote=chr(34)
- errd=False
- lastobj = ""
- %>
-
- <HTML>
- <HEAD>
- <SCRIPT LANGUAGE="JavaScript">
-
- var theList=parent.head.cachedList;
- var listFuncs = new parent.head.listFuncs();
-
- <%
-
- if errd=0 then
-
- newid=Request("newid")
-
- firstid=newid
- if firstid="" then
- firstid=0
- end if
-
- currentid=Request("item")
- if currentid="" then
- currentid=firstid
- newid=newid + 1
- end if
-
- numNewItems=0
- Response.write "//" & path
- Response.write "//" & currentid
-
- addDirs path, currentid
-
- Server.ScriptTimeOut = scripttimeout
- end if
-
- Sub addDirs(path, parentid)
- Dim thisid, thisname, thisstate, thisadspath, i, f
- if path <> "" then
- if FileSystem.FolderExists(path) then
- Set f=FileSystem.GetFolder(path)
- For Each i In f.SubFolders
- thisid=newid
- SetJscriptObj i, i.Name,parentid
- numNewItems=numNewItems + 1
- Next
- end if
- end if
- End Sub
-
- Sub SetJscriptObj(path, caption, parentid)
- %>
- theList[<%= newid %>]=new parent.head.listObj(<%= newid %>,"<%= Replace(path,"\","\\") %>","<%= caption %>",<%= parentid %>);
- <%
- newid=newid + 1
- End Sub
-
-
- ' we need to insert the whole group into the correct place In the array.
- ' since we Set the first entry (machine) to the exisitng place In the array,
- ' the Next level In the hierarchy (vservers) will be pointing to the correct
- ' parent ids. However, the following level (vdirs, and below) will be pointing
- ' to the parent ids as they existed at the bottom of the array, before the
- ' move, and will need to be adjusted.
- %>
-
- <% if errd=0 then %>
-
- var item=<%= firstid %>;
- currentid=<%= currentid %>;
- if (currentid !=item){
-
- x=currentid + 1;
-
- //correct the id on the "new" objects
- for (var i=item; i < theList.length; i++) {
- theList[i].id=x;
- if (theList[i].parentid !=currentid){
- theList[i].parentid=theList[i].parentid - (item - (currentid + 1));
- }
- x++;
- }
-
- //move the following records "down" the array
- for (var i=currentid + 1; i < item;i++){
-
- theList[i].id=theList[i].id + <%= numNewItems %>;
- if (theList[i].parentid >currentid){
- theList[i].parentid=theList[i].parentid + <%= numNewItems %>;
- }
- }
-
-
- }
-
-
- //and re-sort.
- theList[0].sortList();
- theList[0].markTerms();
-
-
- if (theList.length==1){
- listFuncs.selIndex=0;
- theList[0].selected=true;
- }
- else{
- theList[listFuncs.selIndex].selected=false;
- listFuncs.selIndex=<%= currentid %>;
- theList[<%= currentid %>].selected=true;
- }
-
- // Force a refresh
- listFuncs.loadList();
-
- <% else %>
- alert("<%= L_CNCTERR_TEXT %> (<%= err %>)");
- <% end if %>
-
-
- </SCRIPT>
-
- <% if err <> 0 then %>
- <% Response.write "err: " & err.description %><BR>
- <% Response.write "currentcontainer: " & currentADsObj.ADsPath %><BR>
- <% Response.write " " & currentADsObj.KeyType %><BR>
- <% Response.write "Err Container:" & lastobj %><BR>
- <% end if %>
-
-
- </HEAD>
- <BODY>
- </BODY>
- </HTML>